#ifndef MERGESORT_H
#define MERGESORT_H

#include <algorithm>//Para usar "copy".
#include "Sorter.h"

class MergeSort : public Sorter
{
    private:
        void* auxiliar;
        void mergesort(size_t inicio, size_t fim);                       ///ok!!
        // Função de atribuição (destino[d] = origem[o]):
        void atribuir(void* destino, size_t d, void* origem, size_t o);  ///ok!!!

    public:
        MergeSort(void* v, size_t n, size_t t, int(*comparador)(const void*,const void*)): Sorter(v,n,t,comparador){auxiliar=NULL;} ///ok!!!
        virtual double ordenar();                                        ///ok!!!
};

#endif // MERGESORT_H
